2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 * Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 #import "ESChatUserListController.h"
18 #import "AISideSplitView.h"
19 #import "KNShelfSplitView.h"
20 #import <Adium/AIInterfaceControllerProtocol.h>
22 @
class AIAccount
, AIListContact
, AIListObject
, AIAccountSelectionView
, AIMessageTabSplitView
, AIMessageEntryTextView
;
23 @
class AIMessageWindowController
;
25 @interface AIMessageViewController
: AIObject
<AIListControllerDelegate
> {
26 IBOutlet NSView
*view_contents
;
29 IBOutlet AIMessageTabSplitView
*splitView_textEntryHorizontal
;
33 NSView
*controllerView_messages
;
34 IBOutlet NSScrollView
*scrollView_messages
;
35 IBOutlet NSView
*customView_messages
;
38 IBOutlet AIAutoScrollView
*scrollView_userList
;
39 BOOL retainingScrollViewUserList
;
40 IBOutlet AIListOutlineView
*userListView
;
41 ESChatUserListController
*userListController
;
44 IBOutlet NSScrollView
*scrollView_outgoing
;
45 IBOutlet AIMessageEntryTextView
*textView_outgoing
;
48 NSObject
<AIMessageDisplayController
> *messageDisplayController
;
49 AIAccountSelectionView
*view_accountSelection
;
50 AIMessageWindowController
*messageWindowController
;
54 IBOutlet KNShelfSplitView
*shelfView
;
57 NSMenuItem
* showHide
;
60 BOOL suppressSendLaterPrompt
;
65 + (AIMessageViewController
*)messageDisplayControllerForChat
:(AIChat
*)inChat
;
66 - (void)messageViewWillLeaveWindowController
:(AIMessageWindowController
*)inWindowController
;
67 - (void)messageViewAddedToWindowController
:(AIMessageWindowController
*)inWindowController
;
70 - (AIListContact
*)listObject
;
71 - (AIListObject
*)preferredListObject
;
75 - (void)adiumPrint
:(id
)sender
;
78 - (IBAction
)sendMessage
:(id
)sender
;
79 - (IBAction
)didSendMessage
:(id
)sender
;
80 - (IBAction
)sendMessageLater
:(id
)sender
;
83 - (void)redisplaySourceAndDestinationSelector
:(NSNotification
*)notification
;
84 - (void)setAccountSelectionMenuVisibleIfNeeded
:(BOOL
)makeVisible
;
87 - (void)makeTextEntryViewFirstResponder
;
88 - (void)clearTextEntryView
;
89 - (void)addToTextEntryView
:(NSAttributedString
*)inString
;
90 - (void)addDraggedDataToTextEntryView
:(id
<NSDraggingInfo
>)draggingInfo
;
93 - (void)setUserListVisible
:(BOOL
)inVisible
;
94 - (BOOL
)userListVisible
;
97 -(void)setupShelfView
;
98 // -(void)collapseShelfView;
99 -(void)toggleUserlist
:(id
)sender
;
101 - (void)tabViewDidChangeVisibility
;